时隔一年多,今天下午写了一个采集bing壁纸的api,这个api很简单,我没有保存到本地,而是直接跳转过去的。
API地址:
打开就自动跳转。
当然也可以保存到本地,弄个监控每天保存一次都是可以的,每天都是可以自动保存美图壁纸,几年之后也有不少图片素材了。不过我暂时用不到就没有写保存功能了。
主要的原因也是bing 的壁纸它不是高清的,我测试的时候发现一张壁纸才300+kb,我都怀疑是我找错了链接,之后审查bing官网发现它的原图就是300多kb。
下面是我的完整代码,在我的api中能完美运行。
<?php
/**
* time:2021年12月2日15:23:59
* author:zyooo.com
* function:获取bing壁纸每日的美图
*/
header("Content-type: text/html; charset=utf-8");
switch ($_REQUEST['type']) {
case 'js':
echo '没有写,别调用';
break;
case 'json':
$jsonData = json_decode(returnImage(),true)['imageUrl'];
$arr2 = ['code'=>'1','msg'=>'ok','imgUrl'=>$jsonData];
echo returnJson($arr2);
break;
default:
$jsonData = json_decode(returnImage(),true)['imageUrl'];
header("Location:".$jsonData);
break;
}
function returnImage(){
$str=@file_get_contents('https://cn.bing.com/HPImageArchive.aspx?idx=0&n=1');
$xml = simplexml_load_string($str);
$imageUrlBase = $xml->image->url;
$imageUrl = 'https://cn.bing.com'.$imageUrlBase[0];
$date = ($xml->image->enddate)[0];
$stringFunction = ($xml->image->copyright)[0];
$returnData = ['imageUrl'=>$imageUrl,'date'=>$date,'copyright'=>$stringFunction];
return returnJson($returnData);
}
function returnJson($string){
return json_encode($string,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);
}
演示图片:
这里返回了json格式的url地址,如果不自己处理就可以直接跳转到我的api,或者用css中背景的格式调用我的api也行。
参数说明我也不写了,因为是摸鱼写的,而且马上快下班了,我该回家做饭了,时间上来不及了。
==========
css调用背景图:
body {
background-image: url(http://a.zyooo.com/api/bing)
}
type可选择的有 type = json
正文结束